Swiggy Restaurant Scraper - Menus, Ratings & Prices avatar

Swiggy Restaurant Scraper - Menus, Ratings & Prices

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Swiggy Restaurant Scraper - Menus, Ratings & Prices

Swiggy Restaurant Scraper - Menus, Ratings & Prices

Swiggy restaurant scraper & unofficial API alternative — scrape menus, ratings and prices without an API key; export the dataset to CSV or JSON.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

3

Monthly active users

2 days ago

Last modified

Share

Swiggy Restaurant Scraper

Scrape Swiggy restaurants, menus, ratings and prices across any Indian city. This Swiggy scraper (also a Swiggy restaurant data extractor and food-delivery market-research tool) talks directly to Swiggy's internal API instead of rendering the heavy React frontend, so it runs fast and cheap with no API key, and exports to CSV, JSON or Excel.

It uses grid-based scraping — querying many GPS points across each city and deduplicating the results — to yield thousands of unique restaurants per city, not just the ones near the center.

What you get

One clean row per restaurant, with these fields:

  • RestaurantrestaurantId, name, city, area (locality), isOpen, isPromoted, searchLocation (grid point used)
  • Ratings & costavgRating, ratingCount (e.g. "10K+ ratings"), costForTwo
  • Deliverycuisines, deliveryTime (ETA minutes), deliveryFee (INR)
  • MenuhasMenu, menuItems[] with itemId, name, category, description, price (INR), isVeg, inStock
  • scrapedAt — ISO-8601 timestamp of extraction

Export every row as CSV, JSON or Excel (also XML / API) — into BigQuery, your database, a spreadsheet or a pricing dashboard.

Use cases

  • Cloud kitchen strategy — scan a city's grid to find menu gaps and benchmark cuisine pricing before opening a dark kitchen.
  • Competitive pricing intelligence — track how rival restaurants change prices, delivery fees and promotions over time.
  • Food aggregation & discovery apps — feed a hyper-local discovery, nutrition or corporate-catering app with structured restaurant and menu data.
  • Market research — quantify supply, cuisine mix and pricing across Indian metro cities.
  • Menu analytics — build datasets of dishes, categories and prices for trend analysis.

How to use

  1. Open the actor and set cities to the city slugs you want (e.g. bangalore, mumbai, delhi).
  2. Pick a gridDensity (more points = more unique restaurants, but slower) and a maxPerCity cap.
  3. Click Start. When the run finishes, open the Output / Dataset tab and export to CSV, JSON or Excel.

Example input:

{
"cities": ["bangalore", "mumbai"],
"gridDensity": "medium",
"maxPerCity": 3000,
"maxConcurrency": 5,
"requestDelay": 400
}

Input fields

FieldTypeDescription
citiesarrayRequired. City slugs, e.g. bangalore, mumbai, delhi, hyderabad, chennai, kolkata, pune, ahmedabad, jaipur, noida, gurgaon and more.
gridDensitystringGPS points per city: low (~500 restaurants), medium (~2000), high (~4000) or ultra (~6000+). Default medium.
maxPerCityintegerStop after this many unique restaurants per city. 0 = unlimited. Default 3000.
maxConcurrencyintegerParallel HTTP requests (1–20). Default 5.
requestDelayintegerDelay in milliseconds between requests. Default 400.

Example output

{
"restaurantId": "12345",
"name": "Truffles",
"city": "bangalore",
"area": "Koramangala",
"avgRating": 4.5,
"ratingCount": "10K+ ratings",
"costForTwo": "₹400 for two",
"cuisines": ["American", "Burgers", "Cafe"],
"deliveryTime": 32,
"deliveryFee": 0,
"isOpen": true,
"isPromoted": false,
"hasMenu": true,
"menuItems": [
{ "itemId": "987", "name": "Mexican Cheese Sandwich", "category": "Sandwiches", "price": 180, "isVeg": true, "inStock": true }
],
"searchLocation": "12.93,77.62",
"scrapedAt": "2026-06-05T12:00:00.000Z"
}

FAQ

Do I need an API key or login?

No. The actor uses Swiggy's internal API directly — no API key and no account are required.

How much data can I get?

Grid-based scraping yields thousands of unique restaurants per city — roughly 500 at low density up to 6,000+ at ultra. Set maxPerCity to 0 for unlimited.

Swiggy only shows restaurants within a delivery radius of a given point. Querying a grid of GPS points across the city and deduplicating gives full city coverage instead of just the center.

How does it handle Swiggy's anti-scraping, and is it fast?

It mimics Swiggy's internal API requests, randomizes timing via requestDelay and keeps concurrency tunable. Swiggy applies regional geo-blocking, so Apify Proxy with Indian IPs is recommended. Because it never launches a browser, its footprint is minimal — viable for large-scale daily monitoring.

Is this a Swiggy API alternative or unofficial Swiggy API?

Yes. Swiggy has no public partner API, so this actor works as an unofficial Swiggy API: it reads Swiggy's own internal endpoints and hands you structured restaurant and menu data without an API key.

How do I export Swiggy restaurant data to CSV or JSON?

Run the actor, then open the Output / Dataset tab and download the Swiggy restaurant dataset as CSV, JSON or Excel — ready for a spreadsheet, database or pricing dashboard.

Can I scrape Swiggy menu data without an API key or login?

Yes. This Swiggy menu scraper needs no account and no API key. It pulls each restaurant's items, categories and prices straight from Swiggy's internal API.

Changelog

2026-06-15

  • Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

2026-06-07

  • Docs: added coverage for Swiggy unofficial API alternative use, exporting Swiggy restaurant data to CSV/JSON, and scraping Swiggy menu data without an API key.